package com.gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import com.fileio.FileIO;
import com.fish.World;
import com.math.Vector;
public class MainMenu extends Menu implements ActionListener,KeyListener{
/**
*
*/
private static final long serialVersionUID = 1L;
boolean isOut = false;
Vector tmp = new Vector(0,0,0);
JButton test1,test2,test3;
JLabel infoLabel;
JButton shopMenuButton;
JButton simulationMenuButton;
JButton cameraMenuButton;
JButton controlsButton;
JButton aboutButton;
JButton exitButton;
public MainMenu() {
super();
infoLabel = new JLabel("Menus:");
infoLabel.setFocusable(false);
infoLabel.setBackground(lvl1);
shopMenuButton = new JButton("Shop");
shopMenuButton.addActionListener(this);
shopMenuButton.setFocusable(false);
shopMenuButton.setBackground(lvl1);
simulationMenuButton = new JButton("Simulation");
simulationMenuButton.addActionListener(this);
simulationMenuButton.setFocusable(false);
simulationMenuButton.setBackground(lvl1);
cameraMenuButton = new JButton("Camera");
cameraMenuButton.addActionListener(this);
cameraMenuButton.setFocusable(false);
cameraMenuButton.setBackground(lvl1);
controlsButton = new JButton("Controls");
controlsButton.addActionListener(this);
controlsButton.setFocusable(false);
controlsButton.setBackground(lvl1);
aboutButton = new JButton("About");
aboutButton.addActionListener(this);
aboutButton.setFocusable(false);
aboutButton.setBackground(lvl1);
exitButton = new JButton("Exit");
exitButton.addActionListener(this);
exitButton.setFocusable(false);
exitButton.setBackground(lvl1);
this.setFocusable(false);
this.setBackground(bg12);
GroupLayout layout = new GroupLayout(this);
this.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup()
.addComponent(exitButton)
.addComponent(aboutButton)
.addComponent(controlsButton))
.addComponent(infoLabel)
.addGroup(layout.createParallelGroup()
.addComponent(shopMenuButton)
.addComponent(simulationMenuButton)
.addComponent(cameraMenuButton)));
layout.linkSize(aboutButton,controlsButton,shopMenuButton,simulationMenuButton,cameraMenuButton,exitButton);
layout.setHorizontalGroup(layout.createParallelGroup()
.addGroup(layout.createSequentialGroup()
.addComponent(exitButton)
.addComponent(aboutButton)
.addComponent(controlsButton))
.addComponent(infoLabel)
.addGroup(layout.createSequentialGroup()
.addComponent(shopMenuButton)
.addComponent(simulationMenuButton)
.addComponent(cameraMenuButton)));
}
public void slid(){
}
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
if(obj == simulationMenuButton){
//toggle simulation menu
// mp.simMenu.setVisible(true);
mp.layout.replace(mp.curMenu, mp.simMenu);
mp.curMenu = mp.simMenu;
}else if(obj == cameraMenuButton){
//toggle camera menu
mp.layout.replace(mp.curMenu, mp.camMenu);
mp.curMenu = mp.camMenu;
}else if(obj == shopMenuButton){
//toggle shape menu
mp.layout.replace(mp.curMenu, mp.shopMenu);
mp.curMenu = mp.shopMenu;
}else if(obj == controlsButton){
JOptionPane.showConfirmDialog(mp, FileIO.readTextFile("controls.txt"), "Controls", -1);
}else if(obj == aboutButton){
JOptionPane.showConfirmDialog(mp, FileIO.readTextFile("about.txt"), "About", -1);
}else if(obj == exitButton){
//Perform exit command
System.exit(0);
}
}
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if(keyCode == KeyEvent.VK_SPACE){
if (World.running == true){
World.stopSimulation();
}else{
World.startSimulation();
}
}else if(keyCode == KeyEvent.VK_Q){
//forward
World.cam.changeRad(10);
}else if(keyCode == KeyEvent.VK_Z){
//backward
World.cam.changeRad(-10);
}else if(keyCode == KeyEvent.VK_LEFT){
World.cam.changeAngles(0.1f, 0);
}else if(keyCode == KeyEvent.VK_RIGHT){
World.cam.changeAngles(-0.1f, 0);
}else if(keyCode == KeyEvent.VK_UP){
World.cam.changeAngles(0, 0.1f);
}else if(keyCode == KeyEvent.VK_DOWN){
World.cam.changeAngles(0, -0.1f);
}else if(keyCode == KeyEvent.VK_X){
World.toggleDebug();
}else if(keyCode == KeyEvent.VK_L){
World.toggleLines();
}else if(keyCode == KeyEvent.VK_C){
}else if(keyCode == KeyEvent.VK_R){
World.cam.reset();
}else if(keyCode == KeyEvent.VK_ESCAPE){
//exit
System.exit(0);
}
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}